/* 
 * Copyright 2009 The Tapestry-GAE team.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.example.app1.services;
import javax.jdo.JDOEnhancer;
import javax.jdo.JDOHelper;

import org.apache.tapestry5.ioc.OrderedConfiguration;
import org.apache.tapestry5.ioc.annotations.SubModule;
import org.apache.tapestry5.services.ApplicationInitializer;
import org.apache.tapestry5.services.ApplicationInitializerFilter;
import org.apache.tapestry5.services.Context;
import org.example.app1.entities.TestAEntity;

import com.googlecode.tapestry.gae.GaeModule;

/**
 * @author <a href="mailto:jun.tsai@gmail.com">Jun Tsai</a>
 * @since 0.1
 */
@SubModule(GaeModule.class)
public class App1Module {
	public static void contributeApplicationInitializer(OrderedConfiguration<ApplicationInitializerFilter> configuration){
		configuration.add("enhance", new ApplicationInitializerFilter(){

			@Override
			public void initializeApplication(Context context,
					ApplicationInitializer initializer) {
        		JDOEnhancer enhancer = JDOHelper.getEnhancer();
        		enhancer.setVerbose(true);
        		enhancer.addClasses(TestAEntity.class.getName());
        		enhancer.enhance();
        		initializer.initializeApplication(context);
			}});
		
	}

}
